in der Routine für Quadratwurzel schüttelst du plötzlich eine Variable temp4 aus dem Ärmel, ohne sie vorher zu initialisieren.
Ist das so gewollt?
; Quadratwurzel 16-Bit
; nach Lee Davison
; Quadratwurzel temp3/temp3+1 ---> Ergebnis in var3
ldx #8
lp5
sec
lda temp3+1
sbc #64
tay
lda temp4
sbc var3
bcc lp6
sty temp3+1
sta temp4
lp6
rol var3
asl temp3
rol temp3+1
rol temp4
asl temp3
rol temp3+1
rol temp4
dex
bne lp5
... das sind ja zumeist Subroutinen bzw. Teile eines kompletten Programmes, ich bin davon ausgegangen, daß man vorher im Quelltext die Variablen definiert. Das muss man ja immer machen und zwar mit allen Variablen.
Bei einer 8 Bit Variablen mit
var1 .byte 00